package com.whfc.wxmp.api.sys.service;

import com.whfc.common.enums.AppType;
import com.whfc.common.weixin.bean.OAuthUserInfo;
import com.whfc.fuum.entity.WxUser;

/**
 * @Description:
 * @author: xugcheng
 * @version: 1.0
 * @date: 2019/7/22 11:29
 */
public interface WxLoginService {

    /**
     * 微信小程序登陆
     *
     * @param appType
     * @param openId
     * @param code
     * @return
     * @throws Exception
     */
    WxUser wxMpLogin(AppType appType, String openId, String code);

    /**
     * 微信小程序登陆
     *
     * @param wxUser
     * @param encryptedData
     * @param iv
     * @return
     */
    WxUser wxMpUpdateUserInfo(WxUser wxUser, String encryptedData, String iv);


    /**
     * 微信小程序修改用户信息
     *
     * @param wxUser
     * @param userInfo
     * @return
     */
    WxUser wxMpUpdateUserInfo(WxUser wxUser, OAuthUserInfo userInfo);

    /**
     * 账号密码登录
     *
     * @param wxUser
     * @param username
     * @param password
     * @return
     */
    WxUser wxMpUpdateUser(WxUser wxUser, String username, String password);
}
